    html    { height: 100% }
    body    { color:#ddd; font-family:"PT Sans Narrow";  margin: 0;   padding: 0; font-size:100%; background-color:#333; }
    *     { font-family:"PT Sans Narrow"; }
    
    h1 { text-shadow:3px 3px rgba(0,0,0,0.3); font-size:10em; font-family:"Permanent Marker"; text-transform:uppercase; font-weight:normal; margin:0; padding:0;}
    h2 { text-shadow:3px 3px rgba(0,0,0,0.3); font-size:3em; font-family:"PT Sans Narrow";  margin:0; padding:0; letter-spacing:0.1em; font-weight:bold; text-transform:uppercase; margin-top:0.5em;}
    
    h2 .show { font-family:"Permanent Marker";  margin-top:0.5em; font-size:0.5em; }
    h2 .podcast {  margin-top:0.5em; font-size:0.5em; font-weight:normal;}
    
    .fltr { float:right; }
    
    .might  {font-family:"Permanent Marker"; font-weight:normal;  }
    .on, .me    { color:#5FAD54; }
    span.on {  }
    b,strong { font-weight:bold; }
    
    .btn { text-shadow:2px 2px rgba(0,0,0,0.3); border:1px solid rgba(0,0,0,0.5); }
    .btn:hover { border-color:rgba(0,0,0,0.5); opacity:1; }
    
    .mt     { margin-top:10px; }
    .ml     { margin-top:10px; }
    .mb     { margin-bottom:10px; }
    .mr     { margin-right:10px; }
    .tac    { text-align:center; }
    
    .header { width:100%; overflow:hidden; }
    
    .controls {  width:100%; text-align:center; display:block; margin-top:3em; margin-bottom:3em; }
    .controls .play-button { margin:0.5em; border-radius:0.5em; padding:0.2em 0.5em 0.2em 0.5em; font-size:5em; background:inherit; color:#ddd; border:1px solid #777;}
    .controls .stop-button { margin:0.5em; border-radius:0.5em; padding:0.2em 0.5em 0.2em 0.5em; font-size:5em; background:inherit; color:#ddd; border:1px solid #777; }
    .controls .btn         { text-shadow:3px 3px rgba(0,0,0,0.3); box-shadow:3px 3px rgba(0,0,0,0.3); }
    .controls .btn:hover   { color:#fff; border-color:#fff; }

    .footer { position:absolute; width:100%; bottom:20px;text-shadow:3px 3px rgba(0,0,0,0.3);color:#999; margin-top:2em;font-size:1.5em; letter-spacing:0.01em; text-align:center;}
    .footer a { letter-spacing:0.01em; color:#999; font-weight:bold; text-decoration:none;}
    .footer a:hover {color:#fff;}
    .footer .hint {  text-shadow:2px 2px rgba(0,0,0,0.3);font-size:0.7em; margin-bottom:0.3em; }
    
    .page       { z-index:200; position:relative; padding-top:5em; }
    .history    {  overflow:hidden; z-index:0; position:absolute;   width:100%; display:block;}
    .history .song { display:block;  z-index:0; color:#444; line-height:1.5em; white-space:nowrap; font-size:2em; letter-spacing:0.01em; text-transform:uppercase;}

    
    .history .song.row0 { font-size:6em; right:0;}
    .history .song.row1 { font-size:5.5em; opacity:0.95; }
    .history .song.row2 { font-size:5em; opacity:0.9;}
    .history .song.row3 { font-size:4.5em; opacity:0.85;}
    .history .song.row4 { font-size:4em; opacity:0.8;}
    .history .song.row5 { font-size:3.5em; opacity:0.75;}
    .history .song.row6 { font-size:3em; opacity:0.7;}
    .history .song.row7 { font-size:2.5em; opacity:0.65;}
    .history .song.row8 { font-size:2em; opacity:0.6;}
    .history .song.row9 { font-size:1.5em; opacity:0.55;}
    .history .song.row10 { font-size:1em; opacity:0.5;}

    .listener { text-shadow:3px 3px rgba(0,0,0,0.3); color:#999; font-size:10em; letter-spacing:0.01em; line-height:1em; text-align:center; overflow:hidden; display:block; }
    .listener .me { }
    .listener i {  position:relative; display:inline-block; padding-bottom:80px; }

    .chat-input { box-shadow:3px 3px rgba(0,0,0,0.3); background-color:#5FAD54; color:#000; letter-spacing:inherit; font-family:"PT Sans Narrow"; margin-top:40px; position:absolute; bottom:0px; margin-left:-10px; font-weight:bold; width:100px; height:100px; left:0px; padding:5px; font-size:0.14em; line-height:1em;border-radius:0.4em; border:2px solid #5FAD54; }

    .volume { position:absolute; top:0; right:10px; }
    
    .schedule { width:100%; padding-bottom:5em;} 
    .schedule .show { float:left; font-size:1.4em; font-weight:bold; letter-spacing:0.01em; padding-left:10px; text-shadow:2px 2px rgba(0,0,0,0.2); }

    .show-indicator { position:absolute; margin-top:-25px; font-size:3em; height:20px; margin-left:-10px; text-shadow:2px 2px rgba(0,0,0,0.3); }
    
    .timetable { display:none; padding:5em;position:absolute; margin-top:5%; width:100%; z-index:100; }
    .timetable .weekrow {  width:100%; overflow:hidden; position:relative;}
    .timetable .week {  margin-left:1em; float:right; width:95%; display:inline-block; overflow:hidden; }
    .timetable .week .show { padding-top:0.5em;float:left; height:5em; overflow:hidden; display:block;}
    .timetable .week .show.tail {opacity:0.5;}
    .timetable .week .show .up-to { float:right; margin-right:0.5em; opacity:0.5;}
    .timetable .weekday {  overflow:hidden; display:block; font-size:2em; height:4em; font-weight:bold; text-align:right; }
    .timetable .week .show .podcast { font-weight:normal;}
    .toggle-controls { position:absolute; top:10px; left:10px; }
    .toggle-controls .btn { background:none; font-weight:bold;border:2px solid #999; color:#999; padding:0.3em 1em 0.3em 1em; margin:0; line-height:1em; background-color:rgba(0,0,0,0.3); }

